package com.j1ay.forum.handler;

import com.j1ay.forum.model.pojo.vo.ErrorCode;
import com.j1ay.forum.model.pojo.vo.Result;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @Author J1ay
 * @Date 2021/12/15 13:05
 * @ 对加了Control注解的方法进行拦截处理 AOP实现
 */

//@ControllerAdvice
//public class AllExceptionHandler {
//
//    @ExceptionHandler(Exception.class)
//    @ResponseBody
//    public Result doException(Exception e) {
//        if (e instanceof HttpRequestMethodNotSupportedException) {
//            return Result.fail(405, "不支持该方法请求~");
//        }
//        if (e instanceof AccessDeniedException) {
//            return Result.fail(ErrorCode.NO_PERMISSION.getCode(), ErrorCode.NO_PERMISSION.getMsg());
//        }
//        // 打印异常的堆栈信息
//        e.printStackTrace();
//        return Result.fail(444,"好像出了点问题，请稍后再试~");
//
//    }
//}
